public class Text <T extends Number>{
    // 作用在私有属性上
    // 私有变量num1, num2
    private T num1;
    private T num2;

    // 两个数的加法
    public double getAdd() {
        return this.num1.doubleValue() + this.num2.doubleValue();
    }
    //作用在参数上
    public <L extends Number> double getAdd(L num1, L num2) {
        return num1.doubleValue() * num2.doubleValue();
    }

    //两个数的乘法
    public double getMul() {


         return this.num1.doubleValue() * this.num2.doubleValue();
    }
    // 作用在参数上
    public <L extends Number> double mul(L num1, L num2) {
        return num1.doubleValue() * num2.doubleValue();
    }

    //两个数的减法
    public double getReduce() {
        return this.num1.doubleValue() - this.num2.doubleValue();
    }
    //作用在参数上
    public <L extends Number> double getReduce(L num1, L num2) {
        return num1.doubleValue() - num2.doubleValue();
    }
    //两个数的除法
    public double getDelive() {
        if(num2.doubleValue()==0){
          throw new IllegalArgumentException("除数不能为零");
        }
        double i = this.num1.doubleValue() / this.num2.doubleValue();
        return i;
    }
    // 作用在参数上
    public <L extends Number> double getDelive(L num1, L num2) {
        if(num2.doubleValue()==0){
            throw new IllegalArgumentException("除数不能为零");
        }
          return num1.doubleValue() / num2.doubleValue();
    }

    // 构造函数
    public Text(T num1, T num2) {
        this.num1 = num1;
        this.num2 = num2;
    }

}
